﻿using Digitalmes.Domain.Entities.Mes.Productions;

namespace Digitalmes.Application.Scada.Services.Impl;

/// <summary>
/// 进站服务。
/// </summary>
/// <param name="logger"></param>
internal sealed class InboundApplicationService(IRepository<ProdTransform> transformRepo,
    ILogger<InboundApplicationService> logger) : IInboundApplicationService
{
    public async Task<ScadaResult> EntryAsync(InboundInput input)
    {
        logger.LogInformation("");

        // 是否为首次上线，产品首次上线须从对应工艺路线的首序上线。
        var transformSn = await transformRepo.SingleOrDefaultAsync(s => s.Sn == input.SN);
        if (transformSn != null)
        {
            // 已存在产品信息
        }
        else
        {
            // 不存在信息，必然是新上线产品，需校验产品条码、当前上线工位是否为首序等信息。
        }

        // 根据设定的进站条件校验

        return ScadaResult.Ok();
    }
}
